package com.je.app.model;

import java.util.Date;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;


@SuppressWarnings("serial")
public class Observacion implements java.io.Serializable {

	private int idObservacion;
	
	private Usuario usuario;

	private Habitacion habitacion;
	
	@NotNull
	@Size(min=0,max=1000)
	private String textoObservacion;
	
	@NotNull
	private Date fecha;

	public Observacion() {
	}

	public Observacion(int idObservacion, String textoObservacion, Date fecha) {
		this.idObservacion = idObservacion;
		this.textoObservacion = textoObservacion;
		this.fecha = fecha;
	}

	public Observacion(int idObservacion, Usuario usuario,
			Habitacion habitacion, String textoObservacion, Date fecha) {
		this.idObservacion = idObservacion;
		this.usuario = usuario;
		this.habitacion = habitacion;
		this.textoObservacion = textoObservacion;
		this.fecha = fecha;
	}

	public int getIdObservacion() {
		return this.idObservacion;
	}

	public void setIdObservacion(int idObservacion) {
		this.idObservacion = idObservacion;
	}

	public Usuario getUsuario() {
		return this.usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public Habitacion getHabitacion() {
		return this.habitacion;
	}

	public void setHabitacion(Habitacion habitacion) {
		this.habitacion = habitacion;
	}

	public String getTextoObservacion() {
		return this.textoObservacion;
	}

	public void setTextoObservacion(String textoObservacion) {
		this.textoObservacion = textoObservacion;
	}

	public Date getFecha() {
		return this.fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}
	
	public Object[] toArray(){
		return new Object[]{
				this.fecha.toLocaleString().split(" ")[0],
				this.usuario.getNombre() + " " + this.usuario.getApellido(),
				this.textoObservacion,
				this.idObservacion
		};
	}

}
